/*==============================================================================
             Copyright (c) 2009 - All rights reserved
================================================================================
File description:

    OpenGL function definition

================================================================================
      Date            Name                    Description of Change
19-Aug-2009  Jorbin.Gao                    Written
19-Aug-2009  Xiaofeng.Gu                    Written
$HISTORY$
==============================================================================*/

#pragma once

#include "OpenGL.h"
#include "GraphPlotter.h"


class COpenGLPlotter : public CGraphPlotter
{
public:
	COpenGLPlotter(void);
	virtual~ COpenGLPlotter(void);

	virtual void Plot(PlotType ePlotType, Streams& streams);
	virtual void SetColor(float red, float green, float blue);
	virtual void SetLineWidth(int factor);

protected:
	void DrawLines(Streams& streams);
	void DrawLineArrow(Streams& streams);

private:
	void DrawCylinder(double dia, double height);
	void Draw2dLine(double x1,double y1,double x2,double y2);
	void DrawBox3D(double xMin, double xMax, double yMin, double yMax, double zMin, double zMax);
	void DrawLineArrow(double x, double y, double z, double dx, double dy, double dz, double length, double height);
};
